home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 10
/
FM Towns Free Software Collection 10.iso
/
tos_updt
/
fmcity
/
palcom
/
script
/
bt_toper.mx
< prev
Wrap
Text File
|
1995-02-10
|
5KB
|
174 lines
//--------------------------------------------------------------------------//
// PALCOM V2.1 L10 //
// 手動通信(通信画面) //
// //
// CopyRight(C) 1994/10/20 //
// FUJITSU PERSONAL COMPUTER SYSTEMS LIMITED //
// written by C-cube Soft H.Nakamura //
//--------------------------------------------------------------------------//
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
//+++ オープンイベントハンドラ +++//
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
event @OPEN.EXTERN {
//通信バッファが0バイトの時は、処理をはじく
if( editor.getSize( 0 ) == 0 ) {
$saveXsize = dialog.getDefaultXSize();
dialog.setDefaultXSize( 278 );
sys.pushCursor( 80 );
$ret = dialog.ask(["━━━━━━ 通信画面の操作 ━━━━━━",
"",
" 通信画面に、操作対象の文字がありません。 ",
""],["確認"] );
sys.popCursor();
dialog.setDefaultXSize( $saveXsize );
return;
}
//ダイアログ部品の作成
$LogAllSaveId = dialog.makeButton( 1, " 通信画面の保存(全部) ", -1,0);
$LogPartSaveId = dialog.makeButton( 1, " 通信画面の保存(一部) ", -1,0);
$LogEraseId = dialog.makeButton( 1," 通信画面の消去 ", -1,0x007F);
$TransOperEndId=dialog.makeButton(1," 終 了 ",-1,0x801D);
$DefaultId = $LogAllSaveId;
$DialogList = [ "通信画面の操作" , 0 , -1 , -1 , $DefaultId ,
[ "" , $LogAllSaveId, [0] , [""] , [""] ],
[ "" , $LogEraseId , [0] , [""] , [""] ],
[ "" , $TransOperEndId , [0] , [""] , [""] ]
] ;
//エディタが表示されていれば退避する
if(editor.show?() == #TRUE) {
editor.show(#FALSE);
$EditShowFlag = 1;
}
else {
$EditShowFlag = 0;
}
//現在のダイアログの幅を退避
$dialogXsize = dialog.getDefaultXSize();
//メインループ
loop {
//通信画面の保存の全部/一部の切り分け
if($$SELECTED) {
$wkList = list.getNth($DialogList, 6);
list.delNth($wkList, 2);
list.putNth($wkList, 1, $LogPartSaveId);
}
else {
$wkList = list.getNth($DialogList, 6);
list.delNth($wkList, 2);
list.putNth($wkList, 1, $LogAllSaveId);
}
//ダイアログの表示
dialog.setDefaultXSize(180);
//マウスカ-ソルの復元
sys.popCursor();
dialog.open( $DialogList );
//マウスカ-ソルの復元
sys.pushCursor(81);
dialog.setDefaultXSize($dialogXsize);
//ダイアログの復帰値を取得する
$ReturnId = list.get1st( $$DIALOG.RETURN );
table( $ReturnId ) {
$LogAllSaveId {local.logSave();}
$LogPartSaveId {local.logSave();}
$LogEraseId {local.logErase();}
$TransOperEndId {exit;}
else {exit;}
}
if( ($ReturnId == $TransOperEndId) || ($ReturnId < 0) ) {
exit;
}
if( $ReturnId == $LogEraseId ) {
exit;
}
list.delNth($DialogList, 5);
list.putNth($DialogList, 4, $ReturnId);
}
//ボタンの削除
dialog.delButton( $LogAllSaveId ) ;
dialog.delButton( $LogPartSaveId ) ;
dialog.delButton( $LogEraseId ) ;
dialog.delButton( $TransOperEndId ) ;
//エディタが表示してあったら復元する
if($EditShowFlag == 1) {
editor.show(#TRUE);
}
return;
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
//+++ クローズイベントハンドラ +++//
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
event @CLOSE.EXTERN {
return;
}
event @ERROR {
local.errorFunc();
event.mainLoop();
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
//+++ 内部関数 +++//
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
//-------------------------//
//--- 通信画面の保存 ---//
//-------------------------//
function local.logSave() {
//ファイル格納ダイアログの表示
$InitDir = "";
$DefaultName = file.autoName(file.getCurrent(), 0);
$wkList = str.split($DefaultName, "\\");
$DefaultName = list.getLast($wkList);
list.delLast($wkList);
$InitDir = str.join($wkList, "\\");
if($$SELECTED) { //Max: 14 Byte
$Title = "選択内容保存";
}
else {
$Title = "通信内容保存";
}
$OkButton = ""; //Max: 8 Byte
$CanButton = ""; //Max: 8 Byte
//マウスの復元
sys.popCursor();
//ファイル選択ダイアログ表示
//test.print( $InitDir );
$SaveFile = dialog.saveFile($InitDir, $DefaultName, "",
$Title, $OkButton, $CanButton);
//マウスの変更
sys.pushCursor(81);
//実行ならば保存する
if( $SaveFile != #FALSE ) {
if($$SELECTED) {
editor.saveSelection( list.get1st( $SaveFile ),
list.getNth( $SaveFile, 2 ));
}
else {
editor.save( list.get1st( $SaveFile ),
list.getNth( $SaveFile, 2 ));
}
}
return;
}
//-------------------------//
//--- 通信画面の消去 ---//
//-------------------------//
function local.logErase() {
//通信画面のクリア
editor.clear();
return;
}